Selectable interaction elements in a 360-degree video stream

ABSTRACT

Techniques are described herein that are capable of providing selectable interaction elements in a 360-degree video stream. A selectable interaction element is an element (e.g., user interface element) for which selection of the element initiates the providing of information pertaining to an object with which the element is associated. For instance, the selectable interaction element may be positioned proximate the object in the 360-degree video stream (e.g., a portion of the 360-degree video stream or an entirety of the 360-degree video stream). Examples of a user interface element include but are not limited to text, an icon, and a widget.

BACKGROUND

360-degree video systems have become increasingly popular in recentyears. A 360-degree video system includes a 360-degree video camera thatcaptures a 360-degree image of an environment. The 360-degree videosystem may provide access to the 360-degree image through the Internetfor display on remote viewers' personal computers, for example.

One example type of environment in which 360-degree video systems havebeen used is a video conferencing environment. For instance, a360-degree video system may be incorporated into a video conferencingsystem, which enables participants of a video conference who are atdifferent locations to communicate using two-way video and audiotransmissions. The video conference may be hosted by participants in aconference room (a.k.a. in-room participants) in which a 360-degreevideo camera is located, and the video conferencing system may enablethe in-room participants to communicate in real-time with otherparticipants (e.g., remote participants) who are not in the conferenceroom. The 360-degree video camera captures images of the in-roomparticipants, which may be shown on displays of the other participants'computers to facilitate communication between the in-room participantsand the other participants.

Conventional 360-degree video systems often restrict a user experienceof remote users (e.g., the aforementioned other participants of a videoconference) to merely viewing the 360-degree image or selecting betweenthe 360-degree image and other images (e.g., an image that focuses on aparticular in-room participant of a video conference).

SUMMARY

Various approaches are described herein for, among other things,providing selectable interaction elements in a 360-degree video stream.A selectable interaction element is an element (e.g., user interfaceelement) for which selection of the element initiates the providing ofinformation pertaining to an object with which the element isassociated. For instance, the selectable interaction element may bepositioned proximate the object in the 360-degree video stream (e.g., aportion of the 360-degree video stream or an entirety of the 360-degreevideo stream). Examples of a user interface element include but are notlimited to text, an icon, and a widget.

In an example approach, objects in a 360-degree view that is captured bya 360-degree video camera are automatically identified. The selectableinteraction elements, which are configured to be incorporated into a360-degree video stream that is generated from the 360-degree view, areassociated with the respective objects. Each selectable interactionelement is selectable to provide information pertaining to the objectwith which the respective selectable interaction element is associated.One or more selectable interaction elements are incorporated into atleast a portion of the 360-degree video stream such that the one or moreselectable interaction elements are positioned proximate one or morerespective objects with which the one or more respective selectableinteraction elements are associated.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Moreover, itis noted that the invention is not limited to the specific embodimentsdescribed in the Detailed Description and/or other sections of thisdocument. Such embodiments are presented herein for illustrativepurposes only. Additional embodiments will be apparent to personsskilled in the relevant art(s) based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate embodiments of the present inventionand, together with the description, further serve to explain theprinciples involved and to enable a person skilled in the relevantart(s) to make and use the disclosed technologies.

FIG. 1 is a block diagram of an example interaction system in accordancewith an embodiment.

FIGS. 2-4 are block diagrams of example computing devices showingselectable interaction elements in a 360-degree video stream inaccordance with embodiments.

FIG. 5 is a block diagram of an example computing device showing a videostream in accordance with an embodiment.

FIG. 6 is a block diagram of an example computing device showing contentin accordance with an embodiment.

FIG. 7 is a block diagram of an example computing device showing animage in accordance with an embodiment.

FIGS. 8-9 depict flowcharts of example methods for providing selectableinteraction elements in a 360-degree video stream in accordance withembodiments.

FIG. 10 is a block diagram of an example computing system in accordancewith an embodiment.

FIG. 11 depicts an example computer in which embodiments may beimplemented.

The features and advantages of the disclosed technologies will becomemore apparent from the detailed description set forth below when takenin conjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

DETAILED DESCRIPTION I. Introduction

The following detailed description refers to the accompanying drawingsthat illustrate exemplary embodiments of the present invention. However,the scope of the present invention is not limited to these embodiments,but is instead defined by the appended claims. Thus, embodiments beyondthose shown in the accompanying drawings, such as modified versions ofthe illustrated embodiments, may nevertheless be encompassed by thepresent invention.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” or the like, indicate that the embodimentdescribed may include a particular feature, structure, orcharacteristic, but every embodiment may not necessarily include theparticular feature, structure, or characteristic. Moreover, such phrasesare not necessarily referring to the same embodiment. Furthermore, whena particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the relevant art(s) to implement suchfeature, structure, or characteristic in connection with otherembodiments whether or not explicitly described.

II. Example Embodiments

Example embodiments described herein are capable of providing selectableinteraction elements in a 360-degree video stream. A selectableinteraction element is an element (e.g., user interface element) forwhich selection of the element initiates the providing of informationpertaining to an object with which the element is associated. Forinstance, the selectable interaction element may be positioned proximatethe object in the 360-degree video stream (e.g., a portion of the360-degree video stream or an entirety of the 360-degree video stream).Examples of a user interface element include but are not limited totext, an icon, and a widget.

Example techniques described herein have a variety of benefits ascompared to conventional techniques for providing a 360-degree videostream. For instance, the example techniques may increase efficiency ofcommunication among persons who are shown in the 360-degree video stream(e.g., local participants of a video conference) and viewers of the360-degree video stream who are not shown in the 360-degree video stream(e.g., remote participants of the video conference). The exampletechniques may increase user efficiency in any of a variety of ways,including but not limited to increasing an ability of a viewer toidentify persons shown in the 360-degree video stream (e.g., speakers ina video conference and participants to whom the speakers speak), toobtain information about such persons, to view and/or control contentthat is being provided in an environment in which a 360-degree videocamera is located, to send messages to persons shown in the 360-degreevideo stream, etc. The example embodiments may be capable of providing araw copy of content that is being provided in the environment. Forinstance, it may be beneficial to provide the raw copy if clarity of thecontent in the 360-degree video stream is compromised (e.g., the contentin the 360-degree video stream is blurry or of relatively lowresolution) and/or occluded by other objects in the 360-degree videostream. The example embodiments may enable a viewer to change aperspective from which the viewer views the environment (e.g., from thecenter of a room to a corner or wall of the room and vice versa).

The example techniques may increase efficiency of a first computingdevice that provides a 360-degree video stream to a viewer of the360-degree video stream and/or a second computing device of the viewerthat processes the 360-degree video stream for display to the viewer.The example techniques may reduce an amount of time and/or resources(e.g., processor, memory, network bandwidth) that are consumed toprovide the 360-degree video stream and associated information (e.g.,content) to viewers of the 360-degree video stream. For example, the360-degree video stream and/or all such information need not necessarilybe provided from the first computing device to the second computingdevice. In accordance with this example, the 360-degree video stream(e.g., a portion thereof) and/or the information may be selectivelyprovided from the first device to the second device based on selectionof selectable interface element(s) that are incorporated into the360-degree video stream.

FIG. 1 is a block diagram of an example interaction system 100 inaccordance with an embodiment. Generally speaking, interaction system100 operates to provide selectable interaction elements in a 360-degreevideo stream. As shown in FIG. 1, interaction system 100 includes alocal computing device 102, a network 104, and a plurality of remotecomputing devices 106A-106N. Communication among local computing device102 and remote computing devices 106A-106N is carried out over network104 using well-known network communication protocols. Network 104 may bea wide-area network (e.g., the Internet), a local area network (LAN),another type of network, or a combination thereof.

Local computing device 102 is a processing system that is capable ofcommunicating with remote computing devices 106A-106N. An example of aprocessing system is a system that includes at least one processor thatis capable of manipulating data in accordance with a set ofinstructions. For instance, a processing system may be a computer, agame console, a personal digital assistant, etc. In an example videoconferencing embodiment, local computing device 102 is a videoconference device, which is configured to facilitate communication amongparticipants of a video conference. Local computing device 102 includesdisplays 112A-112D, a 360-degree camera 114, local microphone(s) 116,and local interaction logic 118. Displays 112A-112D are configured todisplay remote video stream(s) 146. Remote video stream(s) 146 includeone or more of remote video streams 144A-144N, which are provided byrespective remote computing devices 106A-106N.

360-degree camera 114 is configured to capture a 360-degree view, whichincludes a plurality of objects 119A-119M that are within a field ofview 130 of 360-degree camera 114. Examples of an object that may beincluded in the plurality of objects 119A-119M include but are notlimited to a person, a camera, a computing device, a display (e.g., anactive display), and a white board (e.g., a chalk board). 360-degreecamera 114 is further configured to generate a 360-degree video stream132 from the 360-degree view. The 360-degree video stream 132 includesone or more portions. For instance, each portion of the 360-degree videostream 132 may be separated from others of the portions so that therespective portion may be viewed independently from the other portionsat one or more remote computing devices of the plurality of remotecomputing devices 106A-106N.

In the example video conferencing embodiment, the plurality of objects119A-119M includes participant(s) of the video conference who are withinthe field of view 130 of 360-degree camera 114. Each participant of thevideo conference who is within the field of view 130 is referred toherein as a “local participant” for illustrative purposes and is notintended to be limiting. For instance, the local participant(s) may bein a conference room. In one example, the field of view 130 may extend adesignated (e.g., pre-determined) radius from 360-degree camera 114. Inanother example, the field of view 130 may extend to the walls of a roomin which the local participant(s) are located. Participants of the videoconference who are associated with remote computing devices 106A-106Nare not within the field of view 130 of 360-degree camera 114. Theparticipants who are associated with remote computing devices 106A-106Nare referred to herein as “remote participants” for illustrativepurposes and are not intended to be limiting.

Local microphone(s) 116 are configured to receive speech of persons(e.g., local participants of a video conference) and other sounds thatare audible to a human (e.g., frequencies in a range of 20 Hertz to20,000 Hertz).

Local interaction logic 118 is configured to perform one or more of theoperations described herein to provide selectable interaction elementsin a 360-degree video stream (e.g., 360-degree video stream 132 or anyone or more of portion(s) 134A-134N). For instance, local interactionlogic 118 may automatically identify objects in a 360-degree view thatis captured by 360-degree camera 114. Local interaction logic 118 mayassociate the selectable interaction elements with the respectiveobjects. The selectable interaction elements are configured to beincorporated into 360-degree video stream 132. Each selectableinteraction element is selectable to provide information pertaining tothe object with which the respective selectable interaction element isassociated. Local interaction logic 118 may incorporate one or moreselectable interaction elements into at least a portion of the360-degree video stream 132 such that the one or more selectableinteraction elements are positioned proximate one or more respectiveobjects with which the one or more respective selectable interactionelements are associated.

For instance, local interaction logic 118 may incorporate firstselectable interaction element(s) into first portion(s) 134A, secondselectable interaction element(s) into second portion(s) (not shown),and so on. The first selectable interaction element(s) may be positionedproximate first object(s) in the first portion(s) 134A. The secondselectable interaction element(s) may be positioned proximate secondobject(s) in the second portion(s), and so on.

In an example embodiment, the 360-degree view that is captured by360-degree camera 114 includes a plurality of image frames. Forinstance, the plurality of image frames may correspond to a plurality ofrespective exposures by the 360-degree camera 114. Accordingly, the360-degree view may be referred to as a 360-degree image stream, thoughthe scope of the example embodiments is not limited in this respect. Inaccordance with this embodiment, each image frame includes a pluralityof image pixels. In further accordance with this embodiment, the360-degree video stream 132 includes a plurality of video frames. Infurther accordance with this embodiment, each video frame includes aplurality of display pixels.

In an aspect of this embodiment, 360-degree camera 114 uses theplurality of image frames to generate the plurality of respective videoframes. Accordingly, 360-degree camera 114 may use the image pixels ineach image frame to generate the corresponding plurality of displaypixels in the respective display frame. For instance, 360-degree camera114 may generate a first plurality of display pixels in a first videoframe of the plurality of video frames using a first plurality of imagepixels in a first image frame of the plurality of image frames.360-degree camera 114 may generate a second plurality of display pixelsin a second video frame of the plurality of video frames using a secondplurality of image pixels in a second image frame of the plurality ofimage frames, and so on.

Local interaction logic 118 may receive selection identifier(s) 138 fromone or more of remote computing devices 106A-106N. For example, theselection identifier(s) 138 may include any one or more of the selectionidentifiers 136A-136N from respective remote computing devices106A-106N. The selection identifiers 136A-136N are received fromrespective remote computing devices 106A-106N in response to users ofthe remote computing devices 106A-106N selecting respective selectableinteraction elements in the respective portion(s) 134A-134N of the360-degree video stream 132 that are provided to respective remotecomputing devices 106A-106N. Accordingly, the selection identifiers136A-136N identify respective selectable interaction elements that areselected by users of the respective remote computing devices 106A-106N.The selection identifiers 136A-136N are described in further detailbelow.

Local interaction logic 118 may provide instance(s) of information 140pertaining to the respective object(s) that are associated with therespective selectable interaction element(s) that are identified by therespective selection identifier(s) 138. For instance, the instance(s) ofinformation 140 may include any one or more of the instances ofinformation 142A-142N. The first instance of information 142A pertainsto a first object that is associated with a first selectable interactionelement that is identified by the first selection identifier 136A. Asecond instance of information (not shown) pertains to a second objectthat is associated with a second selectable interaction element that isidentified by a second selection identifier (not shown), and so on. Eachof the instances of information 142A-142N may include information abouta person (e.g., a local participant of a video conference), an interface(e.g., for generation of a message or for receiving user input that isto be presented on a display in an environment of local computing device102), a video stream captured by a selected camera (e.g., a camera inthe environment other than 360-degree camera 114), content (e.g., rawcontent) that is configured to be presented on a display in theenvironment, an image of content that is written on a whiteboard in theenvironment, etc.

Remote computing devices 106A-106N are processing systems that arecapable of communicating with local computing device 102. Remotecomputing devices 106A-106N include respective remote displays122A-122N, remote cameras 124A-124N, remote microphones 126A-126N, andremote interaction logic 128A-128N.

Remote displays 122A-122N are configured to display respectiveportion(s) 134A-134N of the 360-degree video stream 132. Each of theportion(s) 134A-134N may include any one or more portions (e.g., anentirety) of the 360-degree video stream 132. For instance, each of theportion(s) 134A-134N may be same as or different from any one or moreothers of the portion(s) 134A-134N.

Remote cameras 124A-124N are configured to capture views of respectiveremote users (e.g., remote participants of a video conference). Forexample, first remote camera 124A may be configured to capture a firstremote user who owns or otherwise has access to first remote computingdevice 106A. In another example, Nth remote camera 124N may beconfigured to capture an Nth remote user who owns or otherwise hasaccess to Nth remote computing device 106N. Remote cameras 124A-124N arefurther configured to generate respective remote video streams144A-144N.

Remote microphones 126A-126N are configured to receive speech of therespective remote users and other sounds that are audible to a human.

Remote interaction logic 128A-128N are configured to perform one or moreof the operations described herein to provide selectable interactionelement(s) in respective portion(s) 134A-134N of the 360-degree videostream 132. For example, first remote interaction logic 128A mayautomatically identify first object(s) in the 360-degree view that iscaptured by 360-degree camera 114. For instance, first remoteinteraction logic 128A may receive the 360-degree view from localinteraction logic 118. In accordance with this example, first remoteinteraction logic 128A may associate first selectable interactionelement(s) with the respective first object(s). The first selectableinteraction element(s) are configured to be incorporated into the firstportion(s) 134A. Each of the first selectable interaction element(s) isselectable to provide information pertaining to the first object withwhich the respective first selectable interaction element is associated.First remote interaction logic 128A may incorporate the first selectableinteraction element(s) into the first portion(s) 134A such that thefirst selectable interaction element(s) are positioned proximate thefirst object(s) with which the respective first selectable interactionelement(s) are associated in the first portion(s) 134A.

In accordance with this example, first remote interaction logic 128A maydetermine that a designated first selectable interaction element of thefirst selectable interaction element(s) is selected. In response, firstremote interaction logic 128A may provide the first instance ofinformation 142A pertaining to the first object that is associated withthe designated first selectable interaction element (e.g., forpresentation on first remote display 122A).

In another example, Nth remote interaction logic 128N may automaticallyidentify Nth object(s) in the 360-degree view that is captured by360-degree camera 114. For instance, Nth remote interaction logic 128Nmay receive the 360-degree view from local interaction logic 118. Inaccordance with this example, Nth remote interaction logic 128N mayassociate Nth selectable interaction element(s) with the respective Nthobject(s). The Nth selectable interaction element(s) are configured tobe incorporated into the Nth portion(s) 134N. Each of the Nth selectableinteraction element(s) is selectable to provide information pertainingto the Nth object with which the respective Nth selectable interactionelement is associated. Nth remote interaction logic 128N may incorporatethe Nth selectable interaction element(s) into the Nth portion(s) 134Nsuch that the Nth selectable interaction element(s) are positionedproximate the Nth object(s) with which the respective Nth selectableinteraction element(s) are associated in the Nth portion(s) 134N.

In accordance with this example, Nth remote interaction logic 128N maydetermine that a designated Nth selectable interaction element of theNth selectable interaction element(s) is selected. In response, Nthremote interaction logic 128N may provide the Nth instance ofinformation 142N pertaining to the Nth object that is associated withthe designated Nth selectable interaction element (e.g., forpresentation on Nth remote display 122N).

Remote computing devices 106A-106N may include any client-enabled systemor device, including but not limited to a desktop computer, a laptopcomputer, a tablet computer, a personal digital assistant, a cellulartelephone, a wearable device, or the like.

Example techniques for providing selectable interaction elements in a360-degree video stream are discussed in greater detail below withreference to FIGS. 2-10.

Local interaction logic 118 and/or any of remote interaction logic128A-128N may be implemented in various ways to provide selectableinteraction elements in a 360-degree video stream, including beingimplemented in hardware, software, firmware, or any combination thereof.For example, local interaction logic 118 and/or any of remoteinteraction logic 128A-128N may be implemented as computer program codeconfigured to be executed in one or more processors. In another example,local interaction logic 118 and/or any of remote interaction logic128A-128N may be implemented as hardware logic/electrical circuitry. Forinstance, local interaction logic 118 and/or any of remote interactionlogic 128A-128N may be implemented in a field-programmable gate array(FPGA), an application-specific integrated circuit (ASIC), anapplication-specific standard product (ASSP), a system-on-a-chip system(SoC), a complex programmable logic device (CPLD), etc. Each SoC mayinclude an integrated circuit chip that includes one or more of aprocessor (e.g., a microcontroller, microprocessor, digital signalprocessor (DSP), etc.), memory, one or more communication interfaces,and/or further circuits and/or embedded firmware to perform itsfunctions.

FIG. 2 is a block diagram of an example computing device 200 showingselectable interaction elements 214A-214E in a 360-degree video stream204 in accordance with an embodiment. As shown in FIG. 2, computingdevice 200 includes a display 202 on which a portion of the 360-degreevideo stream 204 is shown. Display 202 displays a portion of the360-degree video stream 204 for illustrative purposes and is notintended to be limiting. It will be recognized that display 202 maydisplay an entirety of the 360-degree video stream 204. Moreover, it canbe said that the selectable interaction elements 214A-214E areincorporated into the 360-degree video stream 204 regardless whether theselectable interaction elements 214A-214E are incorporated into aportion of the 360-degree video stream 204 or an entirety of the360-degree video stream 204.

The 360-degree video stream 204 includes persons 206A and 206B (e.g.,local participants of a video conference), a display 208, and awhiteboard 210. Display 208 is shown to display content 212, which reads“Sales Projections 2016.” Whiteboard 210 is shown to have content 216written thereon. Only a portion of the content 216 is shown within theportion of the 360-degree video stream 204 shown on display 202.Selectable interaction elements 214A and 214B are associated with therespective persons 206A and 206B. Accordingly, selectable interactionelements 214A and 214B are positioned proximate the respective persons206A and 206B in the 360-degree video stream 204. Selectable interactionelement 214A is selectable by a user of computing device 200 to providefirst information regarding person 206A (e.g., to cause the firstinformation to be presented on display 202). Selectable interactionelement 214B is selectable by the user to provide second informationregarding person 206B (e.g., to cause the second information to bepresented on display 202).

Display 208 is shown to be implemented as an active display in FIG. 2for illustrative purposes and is not intended to be limiting.Accordingly, display 208 includes a camera, which is referred to hereinas a “second camera” to avoid confusion with the 360-degree camera thatgenerates the 360-degree video stream 204. Selectable interactionelement 214D is associated with display 208 (e.g., the content 212 thatis shown thereon), and selectable interaction element 214C is associatedwith the second camera. Accordingly, selectable interaction elements214C and 214D are positioned proximate the second camera and the display208, respectively, in the 360-degree video stream 204. Selectableinteraction element 214C is selectable by the user to provide thirdinformation regarding the second camera (e.g., to cause the thirdinformation to be presented on display 202). Selectable interactionelement 214D is selectable by the user to provide fourth informationregarding display 208 (e.g., to cause the fourth information to bepresented on display 202).

Selectable interaction element 214E is associated with whiteboard 210(e.g., the content 216 that is written thereon). Accordingly, selectableinteraction element 214E is positioned proximate whiteboard 210 in the360-degree video stream 204. Selectable interaction element 214E isselectable by the user to provide fifth information regarding whiteboard210 (e.g., to cause the fifth information to be presented on display202).

FIG. 3 is a block diagram of another example computing device 300showing selectable interaction elements 214B-214E in a 360-degree videostream 304 in accordance with an embodiment. As shown in FIG. 3,computing device 300 includes a display 302 on which a portion of the360-degree video stream 304 is shown. FIG. 3 depicts one example resultof selecting selectable interaction element 214A in FIG. 2. Forinstance, selecting selectable interaction element 214A, which isassociated with person 206A, in FIG. 2 may cause information aboutperson 206A (e.g., the first information described above with referenceto FIG. 2) to be shown on display 302. In the embodiment of FIG. 3,selecting selectable interaction element 214A in FIG. 2 causes aninformation window 318, which includes the information about person206A, to be shown on display 302. Selectable interaction element 214A isoccluded by information window 318 in video stream 304 for illustrativepurposes. The information in information window 318 specifies the nameof person 206A, “Lisa Jones;” a title or role of person 206A, “SalesManager;” and a company for which person 206A works, “XYZ Corp.”

The information in information window 318 is provided for illustrativepurposes and is not intended to be limiting. It will be recognized thatinformation window 318 may include any suitable information pertainingto person 206A. Information window 318 includes an interactive elementlabeled as an “X” that is selectable to cause information window 318 tobe closed (e.g., to be removed from display 302).

FIG. 4 is a block diagram of another example computing device 400showing selectable interaction elements 214A, 214C, and 214D in a360-degree video stream 404 in accordance with an embodiment. As shownin FIG. 4, computing device 400 includes a display 402 on which aportion of the 360-degree video stream 404 is shown. FIG. 4 depictsanother example result of selecting selectable interaction element 214Ain FIG. 2. A cursor 420 is placed proximate selecting selectableinteraction element 214A in FIG. 4 to indicate that selectableinteraction element 214A is selected. As shown in FIG. 4, selectingselectable interaction element 214A in FIG. 2 may cause an interface 422to be shown on display 402. For instance, the first informationdescribed above with reference to FIG. 2 may include the interface 422.Interface 422 is configured to enable a user of computing device 400 togenerate a message (e.g., a textual message) for delivery to person206A. Examples of a message include but are not limited to a socialupdate, an email, a short message service (SMS) message, an instantmessage (IM), an online chat message, etc.

In the embodiment of FIG. 4, the name of person 206A is “Bob.” Interface422 shows selection of selectable interface element 214A has initiated amessage to be sent to Bob. The user has listed the subject of themessage to be “Suggestion.” The user has begun typing the body of themessage, which begins, “It would be great to . . . .” Interface 422 isshown to consume approximately one-half of display 402, and consequentlyocclude approximately one-half of the 360-degree video stream 404, forillustrative purposes and is not intended to be limiting. It will berecognized that interface 422 may consume any suitable portion ofdisplay 402, and interface 422 need not necessarily occlude any portionof the 360-degree video stream 404. For instance, the portion of the360-degree video stream 204 that is shown in FIG. 2 may be provided inits entirety in a first area of display 402, and interface 422 may beprovided in a second area of display 402, in response to selectableinterface element 214A being selected. For instance, the portion of the360-degree video stream may be resized to fit in the first area ofdisplay 402.

Interface 422 includes a virtual “Send” button 423 that is selectable tocause the message to be delivered to person 206A. Selecting the virtual“Send” button may also cause interface 422 to be closed (e.g., to beremoved from display 402).

FIG. 5 is a block diagram of an example computing device 500 showing avideo stream 504 in accordance with an embodiment. As shown in FIG. 5,computing device 500 includes a display 502 on which the video stream504 is shown. FIG. 5 depicts an example result of selecting selectableinteraction element 214C in FIG. 2. As shown in FIG. 5, selectingselectable interaction element 214C, which is associated with the secondcamera that is included in display 208, in FIG. 2 causes the videostream 504 to be shown on display 502. For instance, the thirdinformation described above with reference to FIG. 2 may include thevideo stream 504. The video stream 504 is captured by the second camera.Thus, the video stream 504 provides a perspective of the environment inwhich the 360-degree camera 524, which generates the 360-degree videostreams 202, 302, and 404 of respective FIGS. 2-4, is located that isdifferent from the perspective of the 360-degree camera 524.

For instance, the video stream 504 includes persons 206A and 206B, whichwere also included in the 360-degree video stream 202, though from theperspective of the second camera, which is included in display 208. Thevideo stream 504 further includes persons 506C and 506D, a third camera526, and the 360-degree camera 524.

Selectable interaction elements 214A and 214B are associated with therespective persons 206A and 206B. Accordingly, selectable interactionelements 214A and 214B are positioned proximate the respective persons206A and 206B in the video stream 504. Selectable interaction element214A is selectable by a user of computing device 500 to provide thefirst information regarding person 206A. Selectable interaction element214B is selectable by the user to provide the second informationregarding person 206B.

Selectable interaction elements 514C and 514D are associated with therespective persons 506C and 506D. Accordingly, selectable interactionelements 514C and 514D are positioned proximate the respective persons506C and 506D in the video stream 504. Selectable interaction element514C is selectable by a user of computing device 500 to provide sixthinformation regarding person 506C. Selectable interaction element 514Dis selectable by the user to provide seventh information regardingperson 506D.

Selectable interaction element 514F is associated with the third camera526, and selectable interaction element 514G is associated with the360-degree camera 524. Accordingly, selectable interaction elements 514Fand 514G are positioned proximate the third camera 526 and the360-degree camera 524, respectively, in the 360-degree video stream 504.Selectable interaction element 514F is selectable by the user to provideeighth information regarding the third camera 526 (e.g., a video streamthat is generated by the third camera 526). Selectable interactionelement 514G is selectable by the user to provide ninth informationregarding the 360-degree camera 524 (e.g., any of video streams 202,302, and 402 generated by the 360-degree camera 524).

FIG. 6 is a block diagram of an example computing device 600 showingcontent 212 in accordance with an embodiment. As shown in FIG. 6,computing device 600 includes a display 602 on which the content 212 isshown. FIG. 6 depicts an example result of selecting selectableinteraction element 214D in FIG. 2. For instance, selecting selectableinteraction element 214D, which is associated with display 208, in FIG.2 may cause information pertaining to display 208 (e.g., the fourthinformation described above with reference to FIG. 2) to be shown ondisplay 602. In the embodiment of FIG. 6, the information pertaining todisplay 208 is the content 212, which is displayed on display 208.Accordingly, in the embodiment of FIG. 6, selecting selectableinteraction element 214D in FIG. 2 causes the content 212 to be shown ondisplay 602. The content 212, as shown on display 602, may be updated inreal-time as the content 212 changes on display 208. Accordingly, theuser of computing device 600 may be shown a view (e.g., a full-screenview) of the same content 212 that is shown to persons (e.g., persons206A, 206B, 506C, and 506D) on display 208 in the environment in which360-degree camera 524 is located.

An interactive element 628 labeled as an “X” is overlaid on the content212 for illustrative purposes and is not intended to be limiting. Itwill be recognized that the interactive element 628 need not necessarilybe overlaid on the content 212. The interaction element 628 isselectable to cause the view of the content 212 to be closed (e.g., tobe removed from display 602). For instance, selection of the interactionelement 628 may cause the view of the content 212 to be replaced withthe video stream 204 shown in FIG. 2.

Additionally or alternatively, selecting selectable interaction element214D in FIG. 2 may cause content that is shown on display 602 (e.g.,content that is written on display 602) to be shown on display 208. Thecontent shown on display 208 may be updated in real-time as the contentshown on display 602 is changed. For example, display 602 may be atouch-enabled and/or hover-enabled display. A touch-enabled display is adisplay that is configured to detect contact of objects with thetouch-enabled display. A hover-enabled display is a display that isconfigured to detect objects within a spaced distance from thehover-enabled display. In accordance with this example, as a user ofcomputing device 600 writes on display 602 (e.g., using a finger or astylus), the writing may appear on display 208 in real-time as the userwrites. Accordingly, viewers of the display 208 (e.g., any of persons206A, 206B, 506C, and/or 506D) may be shown the content that is shown ondisplay 602 (e.g., in real-time as the content is being generated ondisplay 602).

FIG. 7 is a block diagram of an example computing device 700 showing animage 712 in accordance with an embodiment. As shown in FIG. 6,computing device 700 includes a display 702 on which the image 716 isshown. FIG. 7 depicts an example result of selecting selectableinteraction element 214E in FIG. 2. For instance, selecting selectableinteraction element 214E, which is associated with whiteboard 210, inFIG. 2 may cause information pertaining to whiteboard 210 (e.g., thefifth information described above with reference to FIG. 2) to be shownon display 702. In the embodiment of FIG. 7, the information pertainingto whiteboard 210 is the image 716 of the content 216, which is writtenon whiteboard 210. Accordingly, in the embodiment of FIG. 7, selectingselectable interaction element 214E in FIG. 2 causes the image 716 ofthe content 216 to be shown on display 702.

The image 716 may be a full-screen image (e.g., consuming substantiallyall of display 702), though the scope of the example embodiments is notlimited in this respect. The image 716 may be captured by any suitablecamera, such as 360-degree camera 524 or third camera 526, both of whichare described above with reference to FIG. 5. The image 716 of thecontent 216 may be a still image (e.g., a snapshot) of the content 216,as written on whiteboard 210, at a designated instance of time (e.g., aninstance of time at which the image 716 is captured). Accordingly, theimage 716, as shown on display 702, may not be updated in real-time asthe content 216 is changed on whiteboard 210. Rather, the image 716 maybe replaced by an updated image of the content 216 in response to amanual user command, which may cause the updated image to be captured.

An interactive element 728 labeled as an “X” is overlaid on the image716 for illustrative purposes and is not intended to be limiting. Theinteraction element 728 is selectable to cause the image 716 to beclosed (e.g., to be removed from display 702). For instance, selectionof the interaction element 728 may cause the image 716 to be replacedwith the video stream 204 shown in FIG. 2.

FIGS. 8-9 depict flowcharts 800 and 900 of example methods for providingselectable interaction elements in a 360-degree video stream inaccordance with embodiments. Flowcharts 800 and 900 may be performed bylocal computing device 102 and/or any one or more of remote computingdevices 106A-106N shown in FIG. 1, for example. For illustrativepurposes, flowcharts 800 and 900 are described with respect to computingdevice(s) 1000 shown in FIG. 10. For instance, computing device(s) 1000may be an example implementation of local computing device 102 and/orany one or more of remote computing devices 106A-106N shown in FIG. 1.As shown in FIG. 10, computing device(s) 1000 include interaction logic1002, display(s) 1004, camera(s) 1006, and store 1008. Interaction logic1002 includes identification logic 1010, association logic 1012,incorporation logic 1014, display logic 1016, and determination logic1018. Further structural and operational embodiments will be apparent topersons skilled in the relevant art(s) based on the discussion regardingflowcharts 800 and 900.

As shown in FIG. 8, the method of flowchart 800 begins at step 802. Instep 802, objects in a 360-degree view that is captured by a 360-degreevideo camera are automatically identified. In an example implementation,identification logic 1010 automatically identifies the objects in a360-degree view 1020 that is captured by the 360-degree video camera.The 360-degree video camera may be included in camera(s) 1006, thoughthe scope of the example embodiments is not limited in this respect. Inaccordance with this implementation, identification logic 1010 maygenerate object identifiers 1024 to identify the respective objects.

In an example embodiment, automatically identifying the objects at step802 includes receiving a notification from an electronic device in the360-degree view. The notification indicates presence of the electronicdevice. For example, identification logic 1010 may receive anotification 1022 from the electronic device in the 360-degree view1020. In accordance with this example, the notification 1022 indicatesthe presence of the electronic device. The notification may furtherindicate a location of the electronic device, though the scope of theexample embodiments is not limited in this respect. In an aspect of thisembodiment, the notification is an infrared signal that identifies theelectronic device. In accordance with this aspect, the notification mayuniquely identify the electronic device (e.g., based on a frequencyand/or a magnitude of the infrared signal). In accordance with thisembodiment, automatically identifying the objects at step 802 furtherincludes automatically identifying the electronic device in the360-degree view based on receipt of the notification. For instance,identification logic 1010 may automatically identify the electronicdevice in the 360-degree view 1020 based on receipt of the notification1022.

In another example embodiment, automatically identifying the objects atstep 802 includes receiving (e.g., retrieving) instances ofidentification information that identify first respective persons from astore. For example, store 1008 may store instances of identificationinformation 1040. In accordance with this example, identification logic1010 may receive the instance of the identification information 1040from store 1008. In accordance with this embodiment, automaticallyidentifying the objects at step 802 further includes comparing images ofsecond persons who are in the 360-degree view and the instances of theidentification information. The images are captured by the 360-degreevideo camera. The first persons include the second persons. For example,identification logic 1010 may compare the images of the second personswho are in the 360-degree view 1020 and the instances of theidentification information 1040. The images may be captured by a360-degree video camera that is included in the camera(s) 1006. Infurther accordance with this embodiment, the comparing includes matchingeach of the second persons to a respective instance of theidentification information to identify the respective second person. Forinstance, identification logic 1010 may match each of the second personsto a respective instance of the identification information 1040 toidentify the respective second person.

It should be noted that store 1008 may be any suitable type of store.One type of store is a database. For instance, store 1008 may be arelational database, an entity-relationship database, an objectdatabase, an object relational database, an extensible markup language(XML) database, etc.

At step 804, the selectable interaction elements, which are configuredto be incorporated into a 360-degree video stream that is generated fromthe 360-degree view, are associated with the respective objects. Forinstance, the selectable interaction elements may be programmaticallyassociated with the respective objects. Examples of a selectableinteraction element include but are not limited to text, an icon, and awidget. Each selectable interaction element is selectable to provideinformation pertaining to (e.g., describing) the object with which therespective selectable interaction element is associated. For instance,each selectable interaction element may be configured to cause theinformation pertaining to the object with which the respectiveselectable interaction element is associated to be provided in responseto selection of the respective selectable interaction element.

In an example implementation, association logic 1012 associatesselectable interaction elements 1028 with the respective objects. Forexample, store 1040 may store element information 1038. Elementinformation 1038 may include instance of information that indicate therespective selectable interaction elements 1028. In accordance with thisexample, association logic 1012 may cross-reference the objectidentifiers 1024 and the element information 1038 to associate theselectable interaction elements 1028 with the respective objects. Forinstance, association logic 1012 may compare each of the objectidentifiers 1024 with the element information 1038 to match therespective identifier with the instance of information that indicatesthe selectable interaction element that is to be associated with therespective identifier. For example, association logic 1012 may determinethat a designated selectable interactive element is to be associatedwith a designated identifier based on a type and/or configuration of thedesignated selectable interactive element. In accordance with thisimplementation, association logic 1012 may generate associationinformation 1026 in response to associating the selectable interactionelements 1028 with the respective objects. For instance, the associationinformation 1026 may indicate that the selectable interaction elements1028 are associated with the respective objects.

It will be recognized that camera(s) 1006 need not necessarily capturethe 360-degree camera view 1020 and/or generate the 360-degree videostream 1030, as depicted by the dashed lines leading from camera(s) 1006in FIG. 10.

At step 806, one or more selectable interaction elements areincorporated into at least a portion of the 360-degree video stream suchthat the one or more selectable interaction elements are positionedproximate one or more respective objects with which the one or morerespective selectable interaction elements are associated. In an exampleimplementation, incorporation logic 1014 incorporates the one or moreselectable interaction elements into at least a portion of a 360-degreevideo stream 1030 such that the one or more selectable interactionelements are positioned proximate one or more respective objects withwhich the one or more respective selectable interaction elements areassociated. For instance, incorporation logic 1014 may incorporate theone or more selectable interaction elements into at least the portion ofthe 360-degree video stream 1030 based on the association information1026. Display logic 1016 may cause at least the portion of the360-degree video stream 1030 to be displayed on any one or more ofdisplay(s) 1004, though the example embodiments are not limited in thisrespect.

In an example embodiment, incorporating the one or more selectableinteraction elements into at least the portion of the 360-degree videostream includes transforming (e.g., converting) the 360-degree videostream from a non-interactive video stream to an interactive videostream. A non-interactive video stream is a video stream for which auser is unable to interact with elements shown in the video stream(e.g., a user is unable to select an element in the video stream tocause an operation to be performed) or a video stream that does notinclude elements with which a user is able to interact. An interactivevideo stream is a video stream that is not a non-interactive videostream. In accordance with this embodiment, transforming the 360-degreevideo stream may include transforming the 360-degree video stream from afirst state in which the 360-degree video stream is non-interactive to asecond state in which the 360-degree video stream is interactive.

In some example embodiments, one or more steps 802, 804, and/or 806 offlowchart 800 may not be performed. Moreover, steps in addition to or inlieu of steps 802, 804, and/or 806 may be performed. For instance, in anexample embodiment, automatically identifying the objects at step 802includes automatically identifying local participants of a videoconference in the 360-degree view. Each local participant is within afield of view of the 360-degree video camera. In accordance with thisembodiment, associating the selectable interaction elements with therespective objects at step 804 includes associating designatedselectable interaction elements with the local participants. Eachdesignated selectable interaction element is selectable to provideinformation about the local participant with which the respectivedesignated selectable interaction element is associated. For instance,the information may indicate a role of the local participant with regardto a project, a position of the local participant within anorganization, and/or a name of the local participant. In furtheraccordance with this embodiment, incorporating the one or moreselectable interaction elements into at least the portion of the360-degree video stream at step 806 includes positioning one or moredesignated selectable interaction elements proximate one or more localparticipants with whom the one or more respective designated selectableinteraction elements are associated (e.g., for presentation on a displayof a computing device of a remote participant of the video conferencewho is not within the field of view of the 360-degree video camera).

In an aspect of this embodiment, the method of flowchart 800 furtherincludes determining that a first designated selectable interactionelement that is associated with a first local participant is selected bya remote participant. The remote participant is not in a field of viewof the 360-degree video camera. For instance, the first designatedselectable interaction element may be selected by a click, double-click,mouse over, gesture (e.g., blink, gaze, nod, point), voice command, etc.Determining that the first designated selectable interaction element isselected by the remote participant may include determining that thefirst designated selectable interaction element is selected via acomputing device of the remote participant (e.g., via a computing devicethat is owned by or otherwise associated with the remote participant).For example, an Internet Protocol (IP) address that is assigned to thecomputing device of the remote participant may be used to determine thatthe first designated selectable interaction element is selected via thecomputing device of the remote participant. In accordance with thisexample, matching an IP address of the computing device via which thefirst designated selectable interaction element is selected to areference IP address that is assigned to the computing device of theremote participant may indicate that the computing device via which thefirst designated selectable interaction element is selected is thecomputing device of the remote participant.

For example, determination logic 1018 may determine that the firstdesignated selectable interaction element is selected by the remoteparticipant. In accordance with this example, selection indicator 1036may indicate that the first designated selectable interaction element isselected by the remote participant. In further accordance with thisexample, determination logic 1018 may determine that the firstdesignated selectable interaction element is selected by the remoteparticipant based on the selection indicator 1036. Determination logic1018 may generate a presentation instruction 1034 in response to thedetermination. The presentation instruction 1034 may instruct displaylogic 1016 to cause the information about the first local participant tobe presented on the display (e.g., any of display(s) 1004) of thecomputing device of the remote participant.

In accordance with this aspect, the method of flowchart 800 furtherincludes causing the information about the first local participant to bepresented on a display of a computing device of the remote participantbased on the remote participant selecting the first designatedselectable interaction element. For example, display logic 1016 maycause the information about the first local participant to be presentedon the display of the computing device of the remote participant. Inaccordance with this example, display logic 1016 may provide content1042 to the computing device of the remote participant or to the displaythereof. The content 1042 may include the information about the firstlocal participant. Display logic 1016 may provide the information to thecomputing device of the remote participant or to the display thereofbased on the presentation instruction 1034.

In another example embodiment, automatically identifying the objects atstep 802 includes automatically identifying local participants of avideo conference in the 360-degree view. Each local participant iswithin a field of view of the 360-degree video camera. In accordancewith this embodiment, associating the selectable interaction elementswith the respective objects at step 804 includes associating designatedselectable interaction elements with the local participants. Eachdesignated selectable interaction element is selectable by a remoteparticipant of the video conference to provide an interface configuredto enable the remote participant to generate a message for delivery tothe local participant with which the respective designated selectableinteraction element is associated. Examples of a message include but arenot limited to a social update, an email, a short message service (SMS)message, an instant message (IM), an online chat message, etc. Theremote participant is not in the field of view of the 360-degree videocamera. In further accordance with this embodiment, incorporating theone or more selectable interaction elements into at least the portion ofthe 360-degree video stream at step 806 includes positioning one or moredesignated selectable interaction elements proximate one or more localparticipants with whom the one or more respective designated selectableinteraction elements are associated (e.g., for presentation on thedisplay of the computing device of the remote participant).

In an aspect of this embodiment, the method of flowchart 800 furtherincludes determining that a first designated selectable interactionelement that is associated with a first local participant is selected bythe remote participant. For example, determination logic 1018 maydetermine that the first designated selectable interaction element isselected by the remote participant. Determination logic 1018 maygenerate the presentation instruction 1034 in response to thedetermination. The presentation instruction 1034 may instruct displaylogic 1016 to cause the interface to be provided on the display of thecomputing device of the remote participant.

In accordance with this aspect, the method of flowchart 800 furtherincludes causing the interface to be provided on a display of acomputing device of the remote participant based on the remoteparticipant selecting the first designated selectable interface element.The interface enables the remote participant to generate the message fordelivery to the first local participant. For example, display logic 1016may cause the interface to be provided on the display of the computingdevice of the remote participant. In accordance with this example,display logic 1016 may provide content 1042 to the computing device ofthe remote participant or to the display thereof. The content 1042 mayinclude the interface. Display logic 1016 may provide the interface tothe computing device of the remote participant or to the display thereofbased on the presentation instruction 1034.

In an example of this aspect, the method of flowchart 800 furtherincludes causing the message to be delivered to a local computing deviceof the first local participant via a network for presentation on adisplay (e.g., any of display(s) 1004) of the local computing device inresponse to the message being generated. For instance, display logic1016 may cause the message to be delivered to the local computing deviceof the first local participant via network 1004.

In yet another example embodiment, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes local participants of a video conference. For instance, theenvironment may be a room (e.g., a conference room). In accordance withthis embodiment, automatically identifying the objects at step 802includes automatically identifying a second camera in the environment.In further accordance with this embodiment, associating the selectableinteraction elements with the respective objects at step 804 includesassociating a designated selectable interaction element with the secondcamera. The designated selectable interaction element is selectable toprovide a video stream that is captured by the second camera. Forinstance, the video stream may include at least one of the localparticipants. In further accordance with this embodiment, incorporatingthe one or more selectable interaction elements into at least theportion of the 360-degree video stream at step 806 includes positioningthe designated selectable interaction element proximate the secondcamera.

In one aspect of this embodiment, a specified selectable interactionelement that is associated with the 360-degree video camera isincorporated into the video stream that is captured by the secondcamera. For instance, incorporation logic 1014 may incorporate thespecified selectable interaction element into the video stream that iscaptured by the second camera. In accordance with this aspect, thespecified selectable interaction element is positioned proximate the360-degree video camera in the video stream that is captured by thesecond camera. For instance, incorporation logic 1014 may position thespecified selectable interaction element proximate the 360-degree videocamera in the video stream that is captured by the second camera. Infurther accordance with this aspect, the specified selectableinteraction element is selectable to provide the 360-degree video streamor a portion thereof.

For example, the specified selectable interaction element may beselectable to cause a first camera view to be replaced by a secondcamera view on a display of a computing device of a remote participantby transitioning from the first camera view to the second camera view ina manner that provides context to indicate a location of the 360-degreevideo camera with reference to the second camera. In accordance withthis example, the first camera view does not include the 360-degreevideo stream. In further accordance with this example, the second cameraview includes the 360-degree video stream. The remote participant is notin a field of view of the 360-degree video camera.

In another aspect of this embodiment, the method of flowchart 800further includes determining that the designated selectable interactionelement is selected by a remote participant. The remote participant isnot in a field of view of the 360-degree video camera. For example,determination logic 1018 may determine that the designated selectableinteraction element is selected by the remote participant. Determinationlogic 1018 may generate the presentation instruction 1034 in response tothe determination. The presentation instruction 1034 may instructdisplay logic 1016 to cause the video stream that is captured by thesecond camera to be presented on a display of a computing device of theremote participant.

In accordance with this aspect, the method of flowchart 800 furtherincludes causing the video stream that is captured by the second camerato be presented on the display of the computing device of the remoteparticipant based on the remote participant selecting the designatedselectable interaction element. For example, display logic 1016 maycause the video stream that is captured by the second camera to bepresented on the display of the computing device of the remoteparticipant. In accordance with this example, display logic 1016 mayprovide content 1042 to the computing device of the remote participantor to the display thereof. The content 1042 may include the video streamthat is captured by the second camera. Display logic 1016 may providethe video stream that is captured by the second camera to the computingdevice of the remote participant or to the display thereof based on thepresentation instruction 1034.

For example, causing the video stream that is captured by the secondcamera to be presented may include causing a first camera view to bereplaced by a second camera view on the display of the computing deviceof the remote participant. In accordance with this example, the firstcamera view does not include the video stream that is captured by thesecond camera. In further accordance with this example, the secondcamera view includes the video stream that is captured by the secondcamera. For instance, causing the first camera view to be replaced bythe second camera view may include causing a transition from the firstcamera view to the second camera view in a manner that provides contextto indicate a location of the second camera in the environment.

In still another example embodiment, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes local participants of a video conference. In accordance withthis embodiment, automatically identifying the objects at step 802includes automatically identifying a whiteboard in the environment. Infurther accordance with this embodiment, associating the selectableinteraction elements with the respective objects at step 804 includesassociating a designated selectable interaction element with thewhiteboard. The designated selectable interaction element is selectableto provide an image of content that is written on the whiteboard. Infurther accordance with this embodiment, incorporating the one or moreselectable interaction elements into at least the portion of the360-degree video stream at step 806 includes positioning the designatedselectable interaction element proximate the whiteboard.

In an aspect of this embodiment, the method of flowchart 800 furtherincludes determining that the designated selectable interaction elementis selected by the remote participant. The remote participant is not ina field of view of the 360-degree video camera. For example,determination logic 1018 may determine that the designated selectableinteraction element is selected by the remote participant. Determinationlogic 1018 may generate the presentation instruction 1034 in response tothe determination. The presentation instruction 1034 may instructdisplay logic 1016 to providing the image of the content forpresentation on a display of a computing device of the remoteparticipant.

In accordance with this aspect, the method of flowchart 800 furtherincludes providing the image of the content for presentation on thedisplay of the computing device of the remote participant based on theremote participant selecting the designated selectable interactionelement. For example, display logic 1016 may provide the image of thecontent for presentation on the display of the computing device of theremote participant. In accordance with this example, display logic 1016may provide content 1042 to the computing device of the remoteparticipant or to the display thereof. The content 1042 may include theimage of the content. Display logic 1016 may provide the image of thecontent to the computing device of the remote participant or to thedisplay thereof based on the presentation instruction 1034.

In an example of this aspect, the method of flowchart 800 furtherincludes capturing the image of the content that is written on thewhiteboard. For instance camera(s) 1006 may capture the image of thecontent that is written on the whiteboard. In accordance with thisexample, the method of flowchart 800 further includes storing the imageof the content that is captured in a store. For instance, camera(s) 1006may store the image of the content in store 1008. In further accordancewith this example, the method of flowchart 800 further includesretrieving the image of the content from the store. For instance,display logic 1016 may retrieve the image of the content from store1008. In further accordance with this example, providing the image ofthe content may include providing the image of the content that isretrieved from the store based on the remote participant selecting thedesignated selectable interaction element.

In yet another example embodiment, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes local participants of a video conference. In accordance withthis embodiment, automatically identifying the objects at step 802includes automatically identifying a display in the environment. Infurther accordance with this embodiment, associating the selectableinteraction elements with the respective objects at step 804 includesassociating a designated selectable interaction element with thedisplay. The designated selectable interaction element is selectable bya remote participant of the video conference to provide an interfaceconfigured to enable the remote participant to provide input forpresentation on the display. The remote participant is not in the fieldof view of the 360-degree video camera. In further accordance with thisembodiment, incorporating the one or more selectable interactionelements into at least the portion of the 360-degree video stream atstep 806 includes positioning the designated selectable interactionelement proximate the display.

In an aspect of this embodiment, the method of flowchart 800 furtherincludes determining that the designated selectable interaction elementis selected by the remote participant. The remote participant is not ina field of view of the 360-degree video camera. For example,determination logic 1018 may determine that the designated selectableinteraction element is selected by the remote participant. Determinationlogic 1018 may generate the presentation instruction 1034 in response tothe determination. The presentation instruction 1034 may instructdisplay logic 1016 to cause the interface to be provided on a seconddisplay of a computing device of the remote participant.

In accordance with this aspect, the method of flowchart 800 furtherincludes causing the interface to be provided on the second display ofthe computing device of the remote participant based on the remoteparticipant selecting the designated selectable interaction element. Forexample, display logic 1016 may cause the interface to be provided onthe second display of the computing device of the remote participant. Inaccordance with this example, display logic 1016 may provide content1042 to the computing device of the remote participant or to the displaythereof. The content 1042 may include the interface. Display logic 1016may provide the interface to the computing device of the remoteparticipant or to the display thereof based on the presentationinstruction 1034.

In an example of this aspect, the method of flowchart 800 furtherincludes determining that the input is provided via the interface. Forinstance, determination logic 1018 may determine that the input isprovided via the interface. In accordance with this example, the methodof flowchart 800 further includes causing the input to be shown on thedisplay in response to determining that the input is provided via theinterface. For instance, causing the input to be shown on the displaymay include causing the input to be shown on the display in real-time(e.g., as the input is being provided via the interface). For example,display logic 1016 may cause the input to be shown on the display inreal-time.

In an example implementation of this embodiment, the designatedselectable interaction element is selectable to provide content that isconfigured to be presented via the display in addition to or in lieu ofbeing selectable to provide an interface configured to enable the remoteparticipant to provide input for presentation on the display. In anaspect of this implementation, the content in addition to or in lieu ofthe interface is caused to be presented on the second display based onthe remote participant selecting the designated selectable interactionelement. For instance, causing the content to be presented on the seconddisplay may include causing the content to be presented on the seconddisplay while the content is being displayed on the display in theenvironment. In another aspect of this implementation, the method offlowchart 800 may further include enabling the remote participant tocontrol presentation of the content on the second display. For example,display logic 1016 may provide controls for enabling the remoteparticipant to control the presentation of the content on the seconddisplay. In accordance with this example, the controls may enable theremote participant to pause, stop, fast forward, rewind, adjust a playspeed, etc. of the content on the second display.

In another aspect of this implementation, the method of flowchart 800further includes one or more of the steps shown in flowchart 900 of FIG.9.

As shown in FIG. 9, the method of flowchart 900 begins at step 902. Instep 902, a determination is made that a designated selectableinteraction element that is associated with a display in the environmentis selected by a remote participant. The remote participant is not in afield of view of the 360-degree video camera. For instance, determiningthat the designated selectable interaction element is selected by theremote participant at step 902 may include determining that thedesignated selectable interaction element is selected by the remoteparticipant while the content is being displayed on the display. In anexample implementation, determination logic 1018 determines that thedesignated selectable interaction element is selected by the remoteparticipant.

At step 904, content, which is displayed on the display, and referencecontent that is stored in a store are compared to determine that thecontent and the reference content are same. In an exampleimplementation, determination logic 1018 compares the content and thereference content that is stored in store 1008 to determine that thecontent and the reference content are the same.

At step 906, the reference content from the store is caused to bepresented on a second display of a computing device of the remoteparticipant while the content is being displayed on the display in theenvironment based on the remote participant selecting the designatedselectable interaction element and further based on the content and thereference content being the same. In an example implementation, displaylogic 1016 causes the reference content from store 1008 to be presentedon the second display while the content is being displayed on thedisplay in the environment.

It will be recognized that computing device(s) 1000 may not include oneor more of interaction logic 1002, display(s) 1004, camera(s) 1006,store 1008, identification logic 1010, association logic 1012,incorporation logic 1014, display logic 1016, and/or determination logic1018. Furthermore, computing device(s) 1000 may include components inaddition to or in lieu of interaction logic 1002, display(s) 1004,camera(s) 1006, store 1008, identification logic 1010, association logic1012, incorporation logic 1014, display logic 1016, and/or determinationlogic 1018.

Any one or more of remote interaction logic 128A-128N, local interactionlogic 118, interaction logic 1002, display(s) 1004, camera(s) 1006,store 1008, identification logic 1010, association logic 1012,incorporation logic 1014, display logic 1016, determination logic 1018,flowchart 800, and/or flowchart 900 may be implemented in hardware,software, firmware, or any combination thereof.

For example, any one or more of remote interaction logic 128A-128N,local interaction logic 118, interaction logic 1002, display(s) 1004,camera(s) 1006, store 1008, identification logic 1010, association logic1012, incorporation logic 1014, display logic 1016, determination logic1018, flowchart 800, and/or flowchart 900 may be implemented, at leastin part, as computer program code configured to be executed in one ormore processors.

In another example, any one or more of remote interaction logic128A-128N, local interaction logic 118, interaction logic 1002,display(s) 1004, camera(s) 1006, store 1008, identification logic 1010,association logic 1012, incorporation logic 1014, display logic 1016,determination logic 1018, flowchart 800, and/or flowchart 900 may beimplemented, at least in part, as hardware logic/electrical circuitry.Such hardware logic/electrical circuitry may include one or morehardware logic components. Examples of a hardware logic componentinclude but are not limited to a field-programmable gate array (FPGA),an application-specific integrated circuit (ASIC), anapplication-specific standard product (ASSP), a system-on-a-chip system(SoC), a complex programmable logic device (CPLD), etc. For instance, aSoC may include an integrated circuit chip that includes one or more ofa processor (e.g., a microcontroller, microprocessor, digital signalprocessor (DSP), etc.), memory, one or more communication interfaces,and/or further circuits and/or embedded firmware to perform itsfunctions.

III. Further Discussion of Some Example Embodiments

In an example method of providing a plurality of selectable interactionelements in a 360-degree video stream, a plurality of objects areautomatically identified in a 360-degree view that is captured by a360-degree video camera. The plurality of selectable interactionelements, which are configured to be incorporated into a 360-degreevideo stream that is generated from the 360-degree view, are associatedwith the plurality of respective objects. Each selectable interactionelement is selectable to provide information pertaining to the objectwith which the respective selectable interaction element is associated.One or more selectable interaction elements of the plurality ofselectable interaction elements are incorporated into at least a portionof the 360-degree video stream such that the one or more selectableinteraction elements are positioned proximate one or more respectiveobjects of the plurality of objects with which the one or morerespective selectable interaction elements are associated.

In a first aspect of the example method, automatically identifying theplurality of objects comprises automatically identifying a plurality oflocal participants of a video conference in the 360-degree view. Eachlocal participant is within a field of view of the 360-degree videocamera. In accordance with the first aspect, associating the pluralityof selectable interaction elements with the plurality of respectiveobjects comprises associating a plurality of designated selectableinteraction elements that are included in the plurality of selectableinteraction elements with the plurality of local participants. Eachdesignated selectable interaction element is selectable to provideinformation about the local participant with which the respectivedesignated selectable interaction element is associated. In furtheraccordance with the first aspect, incorporating the one or moreselectable interaction elements into at least the portion of the360-degree video stream comprises positioning one or more designatedselectable interaction elements of the plurality of designatedselectable interaction elements proximate one or more local participantsof the plurality of local participants with whom the one or morerespective designated selectable interaction elements are associated.

In an example of the first aspect of the example method, the examplemethod further comprises determining that a first designated selectableinteraction element of the plurality of designated selectableinteraction elements that is associated with a first local participantof the plurality of local participants is selected by a remoteparticipant. The remote participant is not in a field of view of the360-degree video camera. In accordance with this example of the firstaspect, the example method further comprises causing the informationabout the first local participant to be presented on a display of acomputing device of the remote participant based on the remoteparticipant selecting the first designated selectable interactionelement.

In a second aspect of the example method, automatically identifying theplurality of objects comprises automatically identifying a plurality oflocal participants of a video conference in the 360-degree view. Eachlocal participant is within a field of view of the 360-degree videocamera. In accordance with the second aspect, associating the pluralityof selectable interaction elements with the plurality of respectiveobjects comprises associating a plurality of designated selectableinteraction elements that are included in the plurality of selectableinteraction elements with the plurality of local participants. Eachdesignated selectable interaction element is selectable by a remoteparticipant of the video conference to provide an interface configuredto enable the remote participant to generate a message for delivery tothe local participant with which the respective designated selectableinteraction element is associated. The remote participant is not in thefield of view of the 360-degree video camera. In further accordance withthe second aspect, incorporating the one or more selectable interactionelements into at least the portion of the 360-degree video streamcomprises positioning one or more designated selectable interactionelements of the plurality of designated selectable interaction elementsproximate one or more local participants of the plurality of localparticipants with whom the one or more respective designated selectableinteraction elements are associated. The second aspect of the examplemethod may be implemented in combination with the first aspect of theexample method, though the example embodiments are not limited in thisrespect.

In an example of the second aspect of the example method, the examplemethod further comprises determining that a first designated selectableinteraction element of the plurality of designated selectableinteraction elements that is associated with a first local participantof the plurality of local participants is selected by the remoteparticipant. In accordance with this example of the second aspect, theexample method further comprises causing the interface to be provided ona display of a computing device of the remote participant based on theremote participant selecting the first designated selectable interfaceelement. The interface enables the remote participant to generate themessage for delivery to the first local participant.

In an implementation of this example of the second aspect of the examplemethod, the example method further comprises causing the message to bedelivered to a local computing device of the first local participant viaa network for presentation on a display of the local computing device inresponse to the message being generated.

In a third aspect of the example method, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the third aspect, automatically identifying theplurality of objects comprises automatically identifying a second camerain the environment. In further accordance with the third aspect,associating the plurality of selectable interaction elements with theplurality of respective objects comprises associating a designatedselectable interaction element of the plurality of selectableinteraction elements with the second camera. The designated selectableinteraction element is selectable to provide a video stream that iscaptured by the second camera. In further accordance with the thirdaspect, incorporating the one or more selectable interaction elementsinto at least the portion of the 360-degree video stream comprisespositioning the designated selectable interaction element proximate thesecond camera. The third aspect of the example method may be implementedin combination with the first and/or second aspect of the examplemethod, though the example embodiments are not limited in this respect

In an example of the third aspect of the example method, the examplemethod further comprises determining that the designated selectableinteraction element is selected by a remote participant, the remoteparticipant not being in a field of view of the 360-degree video camera.In accordance with this example of the third aspect, the example methodfurther comprises causing the video stream that is captured by thesecond camera to be presented on a display of a computing device of theremote participant based on the remote participant selecting thedesignated selectable interaction element.

In a fourth aspect of the example method, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the fourth aspect, automatically identifying theplurality of objects comprises automatically identifying a display inthe environment. In further accordance with the fourth aspect,associating the plurality of selectable interaction elements with theplurality of respective objects comprises associating a designatedselectable interaction element of the plurality of selectableinteraction elements with the display. The designated selectableinteraction element is selectable to provide content that is configuredto be presented via the display. In further accordance with the fourthaspect, incorporating the one or more selectable interaction elementsinto at least the portion of the 360-degree video stream comprisespositioning the designated selectable interaction element proximate thedisplay. The fourth aspect of the example method may be implemented incombination with the first, second, and/or third aspect of the examplemethod, though the example embodiments are not limited in this respect.

In a first example of the fourth aspect of the example method, theexample method further comprises determining that the designatedselectable interaction element is selected by a remote participant. Theremote participant is not in a field of view of the 360-degree videocamera. In accordance with the first example of the fourth aspect, theexample method further comprises causing the content to be presented ona second display of a computing device of the remote participant basedon the remote participant selecting the designated selectableinteraction element.

In a second example of the fourth aspect of the example method, theexample method further comprises determining that the designatedselectable interaction element is selected by a remote participant. Theremote participant is not in a field of view of the 360-degree videocamera. In accordance with the second example of the fourth aspect, theexample method further comprises comparing the content, which isdisplayed on the display, and reference content that is stored in astore to determine that the content and the reference content are same.In further accordance with the second example of the fourth aspect, theexample method further comprises causing the reference content from thestore to be presented on a second display of a computing device of theremote participant while the content is being displayed on the displayin the environment based on the remote participant selecting thedesignated selectable interaction element and further based on thecontent and the reference content being the same.

In a fifth aspect of the example method, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the fifth aspect, automatically identifying theplurality of objects comprises automatically identifying a display inthe environment. In further accordance with the fifth aspect,associating the plurality of selectable interaction elements with theplurality of respective objects comprises associating a designatedselectable interaction element of the plurality of selectableinteraction elements with the display. The designated selectableinteraction element is selectable by a remote participant of the videoconference to provide an interface configured to enable the remoteparticipant to provide input for presentation on the display. The remoteparticipant is not in the field of view of the 360-degree video camera.In further accordance with the fifth aspect, incorporating the one ormore selectable interaction elements into at least the portion of the360-degree video stream comprises positioning the designated selectableinteraction element proximate the display. The fifth aspect of theexample method may be implemented in combination with the first, second,third, and/or fourth aspect of the example method, though the exampleembodiments are not limited in this respect.

In an example of the fifth aspect of the example method, the examplemethod further comprises determining that the designated selectableinteraction element is selected by the remote participant. In accordancewith this example of the fifth aspect, the example method furthercomprises causing the interface to be provided on a second display of acomputing device of the remote participant based on the remoteparticipant selecting the designated selectable interaction element.

In an implementation of this example of the fifth aspect of the examplemethod, the example method further comprises determining that the inputis provided via the interface. In accordance with this implementation,the example method further comprises causing the input to be shown onthe display in response to the determination.

In a sixth aspect of the example method, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the sixth aspect, automatically identifying theplurality of objects comprises automatically identifying a whiteboard inthe environment. In further accordance with the sixth aspect,associating the plurality of selectable interaction elements with theplurality of respective objects comprises associating a designatedselectable interaction element of the plurality of selectableinteraction elements with the whiteboard. The designated selectableinteraction element is selectable to provide an image of content that iswritten on the whiteboard. In further accordance with the sixth aspect,incorporating the one or more selectable interaction elements into atleast the portion of the 360-degree video stream comprises positioningthe designated selectable interaction element proximate the whiteboard.The sixth aspect of the example method may be implemented in combinationwith the first, second, third, fourth, and/or fifth aspect of theexample method, though the example embodiments are not limited in thisrespect.

In an example of the sixth aspect of the example method, the examplemethod further comprises determining that the designated selectableinteraction element is selected by a remote participant. The remoteparticipant is not in a field of view of the 360-degree video camera. Inaccordance with this example of the sixth aspect, the example methodfurther comprises providing the image of the content for presentation ona display of a computing device of the remote participant based on theremote participant selecting the designated selectable interactionelement.

In a seventh aspect of the example method, automatically identifying theplurality of objects in the 360-degree view comprises receiving anotification from an electronic device in the 360-degree view. Thenotification indicates presence of the electronic device. In accordancewith the seventh aspect, automatically identifying the plurality ofobjects in the 360-degree view further comprises automaticallyidentifying the electronic device in the 360-degree view based onreceipt of the notification. The seventh aspect of the example methodmay be implemented in combination with the first, second, third, fourth,fifth, and/or sixth aspect of the example method, though the exampleembodiments are not limited in this respect.

In an eighth aspect of the example method, automatically identifying theplurality of objects in the 360-degree view comprises receiving aplurality of instances of identification information that identify afirst plurality of respective persons from a store. In accordance withthe eighth aspect, automatically identifying the plurality of objects inthe 360-degree view further comprises comparing a plurality of images ofa second plurality of persons who are in the 360-degree view and theplurality of instances of the identification information. The pluralityof images is captured by the 360-degree video camera. The firstplurality of persons includes the second plurality of persons. Infurther accordance with the eighth aspect, the comparing comprisesmatching each person of the second plurality of persons to a respectiveinstance of the identification information to identify the respectiveperson of the second plurality of persons. The eighth aspect of theexample method may be implemented in combination with the first, second,third, fourth, fifth, sixth, and/or seventh aspect of the examplemethod, though the example embodiments are not limited in this respect.

An example system to provide a plurality of selectable interactionelements in a 360-degree video stream comprises identification logicconfigured to automatically identify a plurality of objects in a360-degree view that is captured by a 360-degree video camera. Theexample system further comprises association logic configured toassociate the plurality of selectable interaction elements, which areconfigured to be incorporated into a 360-degree video stream that isgenerated from the 360-degree view, with the plurality of respectiveobjects. Each selectable interaction element is configured to causeinformation pertaining to the object with which the respectiveselectable interaction element is associated to be provided in responseto selection of the respective selectable interaction element. Theexample system further comprises incorporation logic configured toincorporate one or more selectable interaction elements of the pluralityof selectable interaction elements into at least a portion of the360-degree video stream such that the one or more selectable interactionelements are positioned proximate one or more respective objects of theplurality of objects with which the one or more respective selectableinteraction elements are associated.

In a first aspect of the example system, the identification logic isconfigured to automatically identify a plurality of local participantsof a video conference in the 360-degree view. Each local participant iswithin a field of view of the 360-degree video camera. In accordancewith the first aspect, the association logic is configured to associatea plurality of designated selectable interaction elements that areincluded in the plurality of selectable interaction elements with theplurality of local participants. Each designated selectable interactionelement is configured to cause information about the local participantwith which the respective designated selectable interaction element isassociated to be provided in response to selection of the respectivedesignated selectable interaction element. In further accordance withthe first aspect, the incorporation logic is configured to incorporatethe one or more selectable interaction elements of the plurality ofselectable interaction elements into at least the portion of the360-degree video stream such that one or more designated selectableinteraction elements of the plurality of designated selectableinteraction elements are positioned proximate one or more localparticipants of the plurality of local participants with whom the one ormore respective designated selectable interaction elements areassociated.

In an example of the first aspect of the example system, the examplesystem further comprises determination logic configured to determinewhether a first designated selectable interaction element of theplurality of designated selectable interaction elements that isassociated with a first local participant of the plurality of localparticipants is selected by a remote participant, the remote participantnot being in a field of view of the 360-degree video camera. Inaccordance with this example of the first aspect, the example systemfurther comprises display logic configured to cause the informationabout the first local participant to be presented on a display of acomputing device of the remote participant in response to adetermination that the remote participant selects the first designatedselectable interaction element.

In a second aspect of the example system, the identification logic isconfigured to automatically identify a plurality of local participantsof a video conference in the 360-degree view. Each local participant iswithin a field of view of the 360-degree video camera. In accordancewith the second aspect, the association logic is configured to associatea plurality of designated selectable interaction elements that areincluded in the plurality of selectable interaction elements with theplurality of local participants. Each designated selectable interactionelement is configured to cause an interface, which is configured toenable a remote participant of the video conference to generate amessage for delivery to the local participant with which the respectivedesignated selectable interaction element is associated, to be providedin response to selection of the respective designated selectableinteraction element by the remote participant. The remote participant isnot in the field of view of the 360-degree video camera. In furtheraccordance with the second aspect, the incorporation logic is configuredto incorporate the one or more selectable interaction elements of theplurality of selectable interaction elements into at least the portionof the 360-degree video stream such that one or more designatedselectable interaction elements of the plurality of designatedselectable interaction elements are positioned proximate one or morelocal participants of the plurality of local participants with whom theone or more respective designated selectable interaction elements areassociated. The second aspect of the example system may be implementedin combination with the first aspect of the example system, though theexample embodiments are not limited in this respect.

In an example of the second aspect of the example system, the examplesystem further comprises determination logic configured to determinewhether a first designated selectable interaction element of theplurality of designated selectable interaction elements that isassociated with a first local participant of the plurality of localparticipants is selected by the remote participant. In accordance withthis example of the second aspect, the example system further comprisesdisplay logic configured to cause the interface to be provided on adisplay of a computing device of the remote participant in response to adetermination that the remote participant selects the first designatedselectable interface element. The interface enables the remoteparticipant to generate the message for delivery to the first localparticipant.

In an implementation of this example of the second aspect of the examplesystem, the display logic is further configured to cause the message tobe delivered to a local computing device of the first local participantvia a network for presentation on a display of the local computingdevice in response to the message being generated.

In a third aspect of the example system, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the third aspect, the identification logic is configuredto automatically identify a second camera in the environment. In furtheraccordance with the third aspect, the association logic is configured toassociate a designated selectable interaction element of the pluralityof selectable interaction elements with the second camera. Thedesignated selectable interaction element is configured to cause a videostream that is captured by the second camera to be provided in responseto selection of the designated selectable interaction element. Infurther accordance with the third aspect, the incorporation logic isconfigured to incorporate the one or more selectable interactionelements of the plurality of selectable interaction elements into atleast the portion of the 360-degree video stream such that thedesignated selectable interaction element is positioned proximate thesecond camera. The third aspect of the example system may be implementedin combination with the first and/or second aspect of the examplesystem, though the example embodiments are not limited in this respect.

In an example of the third aspect of the example system, the examplesystem further comprises determination logic configured to determinewhether the designated selectable interaction element is selected by aremote participant. The remote participant is not in a field of view ofthe 360-degree video camera. In accordance with this example of thethird aspect, the example system further comprises display logicconfigured to cause the video stream that is captured by the secondcamera to be presented on a display of a computing device of the remoteparticipant in response to a determination that the remote participantselects the designated selectable interaction element.

In a fourth aspect of the example system, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the fourth aspect, the identification logic isconfigured to automatically identify a display in the environment. Infurther accordance with the fourth aspect, the association logic isconfigured to associate a designated selectable interaction element ofthe plurality of selectable interaction elements with the display. Thedesignated selectable interaction element is configured to cause contentthat is configured to be presented via the display to be provided inresponse to selection of the designated selectable interaction element.In further accordance with the fourth aspect, the incorporation logic isconfigured to incorporate the one or more selectable interactionelements of the plurality of selectable interaction elements into atleast the portion of the 360-degree video stream such that thedesignated selectable interaction element is positioned proximate thedisplay. The fourth aspect of the example system may be implemented incombination with the first, second, and/or third aspect of the examplesystem, though the example embodiments are not limited in this respect.

In a first example of the fourth aspect of the example system, theexample system further comprises determination logic configured todetermine whether the designated selectable interaction element isselected by a remote participant. The remote participant is not in afield of view of the 360-degree video camera. In accordance with thefirst example of the fourth aspect, the example system further comprisesdisplay logic configured to cause the content to be presented on asecond display of a computing device of the remote participant inresponse to a determination that the remote participant selects thedesignated selectable interaction element.

In a second example of the fourth aspect of the example system, theexample system further comprises determination logic configured todetermine whether the designated selectable interaction element isselected by a remote participant. The remote participant is not in afield of view of the 360-degree video camera. The determination logic isfurther configured to compare the content, which is displayed on thedisplay, and reference content that is stored in a store to determinewhether the content and the reference content are same. In accordancewith the second example of the fourth aspect, the example system furthercomprises display logic configured to cause the reference content fromthe store to be presented on a second display of a computing device ofthe remote participant while the content is being displayed on thedisplay in the environment in response to a determination that theremote participant selects the designated selectable interaction elementand further in response to a determination that the content and thereference content are the same.

In a fifth aspect of the example system, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the fifth aspect, the identification logic is configuredto automatically identify a display in the environment. In furtheraccordance with the fifth aspect, the association logic is configured toassociate a designated selectable interaction element of the pluralityof selectable interaction elements with the display. The designatedselectable interaction element is configured to cause an interface,which is configured to enable a remote participant of the videoconference to provide input for presentation on the display, to beprovided in response to selection of the designated selectableinteraction element by the remote participant. The remote participant isnot in the field of view of the 360-degree video camera. In furtheraccordance with the fifth aspect, the incorporation logic is configuredto incorporate the one or more selectable interaction elements of theplurality of selectable interaction elements into at least the portionof the 360-degree video stream such that the designated selectableinteraction element is positioned proximate the display. The fifthaspect of the example system may be implemented in combination with thefirst, second, third, and/or fourth aspect of the example system, thoughthe example embodiments are not limited in this respect.

In an example of the fifth aspect of the example system, the examplesystem further comprises determination logic configured to determinewhether the designated selectable interaction element is selected by theremote participant. In accordance with this example of the fifth aspect,the example system further comprises display logic configured to causethe interface to be provided on a second display of a computing deviceof the remote participant in response to a determination that the remoteparticipant selects the designated selectable interaction element.

In an implementation of this example of the fifth aspect of the examplesystem, the determination logic is configured to determine whether theinput is provided via the interface. In accordance with thisimplementation, the display logic is configured to cause the input to beshown on the display in response to a determination that the input isprovided via the interface.

In a sixth aspect of the example system, the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference. Inaccordance with the sixth aspect, the identification logic is configuredto automatically identify a whiteboard in the environment. In furtheraccordance with the sixth aspect, the association logic is configured toassociate a designated selectable interaction element of the pluralityof selectable interaction elements with the whiteboard, the designatedselectable interaction element is configured to cause an image ofcontent that is written on the whiteboard to be provided in response toselection of the designated selectable interaction element. In furtheraccordance with the sixth aspect, the incorporation logic is configuredto incorporate the one or more selectable interaction elements of theplurality of selectable interaction elements into at least the portionof the 360-degree video stream such that the designated selectableinteraction element is positioned proximate the whiteboard. The sixthaspect of the example system may be implemented in combination with thefirst, second, third, fourth, and/or fifth aspect of the example system,though the example embodiments are not limited in this respect.

In an example of the sixth aspect of the example system, the examplesystem further comprises determination logic configured to determinewhether the designated selectable interaction element is selected by aremote participant, the remote participant not being in a field of viewof the 360-degree video camera. In accordance with this example of thesixth aspect, the incorporation logic is configured to provide the imageof the content for presentation on a display of a computing device ofthe remote participant in response to a determination that the remoteparticipant selects the designated selectable interaction element.

In a seventh aspect of the example system, the identification logic isconfigured to automatically identify an electronic device in the360-degree view based on receipt of a notification from the electronicdevice. The notification indicates presence of the electronic device.The seventh aspect of the example system may be implemented incombination with the first, second, third, fourth, fifth, and/or sixthaspect of the example system, though the example embodiments are notlimited in this respect.

In an eighth aspect of the example system, the identification logic isconfigured to retrieve a plurality of instances of identificationinformation from a store. In accordance with the eighth aspect, theidentification logic is configured to compare a plurality of images of asecond plurality of persons who are in the 360-degree view and theplurality of instances of the identification information. Theidentification logic is configured to match each person of the secondplurality of persons to a respective instance of the identificationinformation to identify the respective person of the second plurality ofpersons. In further accordance with the eighth aspect, the plurality ofimages is captured by the 360-degree video camera. In further accordancewith the eighth aspect, the first plurality of persons includes thesecond plurality of persons. The eighth aspect of the example system maybe implemented in combination with the first, second, third, fourth,fifth, sixth, and/or seventh aspect of the example system, though theexample embodiments are not limited in this respect.

An example computer program product comprises a computer-readablestorage medium having computer program logic recorded thereon forenabling a processor-based system to provide a plurality of selectableinteraction elements in a 360-degree video stream. The computer programlogic comprises first program logic for enabling the processor-basedsystem to automatically identify a plurality of objects in a 360-degreeview that is captured by a 360-degree video camera. The computer programlogic further comprises second program logic for enabling theprocessor-based system to associate the plurality of selectableinteraction elements, which are configured to be incorporated into a360-degree video stream that is generated from the 360-degree view, withthe plurality of respective objects. Each selectable interaction elementis configured to cause information pertaining to the object with whichthe respective selectable interaction element is associated to beprovided in response to selection of the respective selectableinteraction element. The computer program logic further comprises thirdprogram logic for enabling the processor-based system to incorporate oneor more selectable interaction elements of the plurality of selectableinteraction elements into at least a portion of the 360-degree videostream such that the one or more selectable interaction elements arepositioned proximate one or more respective objects of the plurality ofobjects with which the one or more respective selectable interactionelements are associated.

IV. Example Computer System

FIG. 11 depicts an example computer 1100 in which embodiments may beimplemented. Any one or more of remote computing devices 106A-106Nand/or local computing device 102 shown in FIG. 1; computing device 200shown in FIG. 2; computing device 300 shown in FIG. 3; computing device400 shown in FIG. 4; computing device 500 shown in FIG. 5; computingdevice 600 shown in FIG. 6; computing device 700 shown in FIG. 7; and/orany one or more of computing device(s) 1000 shown in FIG. 10 may beimplemented using computer 1100, including one or more features ofcomputer 1100 and/or alternative features. Computer 1100 may be ageneral-purpose computing device in the form of a conventional personalcomputer, a mobile computer, or a workstation, for example, or computer1100 may be a special purpose computing device. The description ofcomputer 1100 provided herein is provided for purposes of illustration,and is not intended to be limiting. Embodiments may be implemented infurther types of computer systems, as would be known to persons skilledin the relevant art(s).

As shown in FIG. 11, computer 1100 includes a processing unit 1102, asystem memory 1104, and a bus 1106 that couples various systemcomponents including system memory 1104 to processing unit 1102. Bus1106 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. System memory 1104 includes read onlymemory (ROM) 1108 and random access memory (RAM) 1110. A basicinput/output system 1112 (BIOS) is stored in ROM 1108.

Computer 1100 also has one or more of the following drives: a hard diskdrive 1114 for reading from and writing to a hard disk, a magnetic diskdrive 1116 for reading from or writing to a removable magnetic disk1118, and an optical disk drive 1120 for reading from or writing to aremovable optical disk 1122 such as a CD ROM, DVD ROM, or other opticalmedia. Hard disk drive 1114, magnetic disk drive 1116, and optical diskdrive 1120 are connected to bus 1106 by a hard disk drive interface1124, a magnetic disk drive interface 1126, and an optical driveinterface 1128, respectively. The drives and their associatedcomputer-readable storage media provide nonvolatile storage ofcomputer-readable instructions, data structures, program modules andother data for the computer. Although a hard disk, a removable magneticdisk and a removable optical disk are described, other types ofcomputer-readable storage media can be used to store data, such as flashmemory cards, digital video disks, random access memories (RAMs), readonly memories (ROM), and the like.

A number of program modules may be stored on the hard disk, magneticdisk, optical disk, ROM, or RAM. These programs include an operatingsystem 1130, one or more application programs 1132, other programmodules 1134, and program data 1136. Application programs 1132 orprogram modules 1134 may include, for example, computer program logicfor implementing any one or more of remote interaction logic 128A-128N,local interaction logic 118, interaction logic 1002, display(s) 1004,camera(s) 1006, store 1008, identification logic 1010, association logic1012, incorporation logic 1014, display logic 1016, determination logic1018, flowchart 800 (including any step of flowchart 800), and/orflowchart 900 (including any step of flowchart 900), as describedherein.

A user may enter commands and information into the computer 1100 throughinput devices such as keyboard 1138 and pointing device 1140. Otherinput devices (not shown) may include a microphone, joystick, game pad,satellite dish, scanner, touch screen, camera, accelerometer, gyroscope,or the like. These and other input devices are often connected to theprocessing unit 1102 through a serial port interface 1142 that iscoupled to bus 1106, but may be connected by other interfaces, such as aparallel port, game port, or a universal serial bus (USB).

A display device 1144 (e.g., a monitor) is also connected to bus 1106via an interface, such as a video adapter 1146. In addition to displaydevice 1144, computer 1100 may include other peripheral output devices(not shown) such as speakers and printers.

Computer 1100 is connected to a network 1148 (e.g., the Internet)through a network interface or adapter 1150, a modem 1152, or othermeans for establishing communications over the network. Modem 1152,which may be internal or external, is connected to bus 1106 via serialport interface 1142.

As used herein, the terms “computer program medium” and“computer-readable storage medium” are used to generally refer to media(e.g., non-transitory media) such as the hard disk associated with harddisk drive 1114, removable magnetic disk 1118, removable optical disk1122, as well as other media such as flash memory cards, digital videodisks, random access memories (RAMs), read only memories (ROM), and thelike. Such computer-readable storage media are distinguished from andnon-overlapping with communication media (do not include communicationmedia). Communication media embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wireless media such asacoustic, RF, infrared and other wireless media, as well as wired media.Example embodiments are also directed to such communication media.

As noted above, computer programs and modules (including applicationprograms 1132 and other program modules 1134) may be stored on the harddisk, magnetic disk, optical disk, ROM, or RAM. Such computer programsmay also be received via network interface 1150 or serial port interface1142. Such computer programs, when executed or loaded by an application,enable computer 1100 to implement features of embodiments discussedherein. Accordingly, such computer programs represent controllers of thecomputer 1100.

Example embodiments are also directed to computer program productscomprising software (e.g., computer-readable instructions) stored on anycomputer-useable medium. Such software, when executed in one or moredata processing devices, causes data processing device(s) to operate asdescribed herein. Embodiments may employ any computer-useable orcomputer-readable medium, known now or in the future. Examples ofcomputer-readable mediums include, but are not limited to storagedevices such as RAM, hard drives, floppy disks, CD ROMs, DVD ROMs, zipdisks, tapes, magnetic storage devices, optical storage devices,MEMS-based storage devices, nanotechnology-based storage devices, andthe like.

It will be recognized that the disclosed technologies are not limited toany particular computer or type of hardware. Certain details of suitablecomputers and hardware are well known and need not be set forth indetail in this disclosure.

IV. Conclusion

Although the subject matter has been described in language specific tostructural features and/or acts, it is to be understood that the subjectmatter defined in the appended claims is not necessarily limited to thespecific features or acts described above. Rather, the specific featuresand acts described above are disclosed as examples of implementing theclaims, and other equivalent features and acts are intended to be withinthe scope of the claims.

What is claimed is:
 1. A method of providing a plurality of selectableinteraction elements in a 360-degree video stream, the methodcomprising: automatically identifying a plurality of objects in a360-degree view that is captured by a 360-degree video camera;associating the plurality of selectable interaction elements, which areconfigured to be incorporated into the 360-degree video stream that isgenerated from the 360-degree view, with the plurality of respectiveobjects, the plurality of selectable interaction elements are selectableto initiate retrieval of information pertaining to the objects withwhich the respective selectable interaction elements are associated froma store independently from information pertaining to the other objects;and incorporating one or more of the selectable interaction elementsinto at least a portion of the 360-degree video stream such that the oneor more selectable interaction elements are positioned proximate one ormore respective objects of the plurality of objects with which the oneor more respective selectable interaction elements are associated. 2.The method of claim 1, wherein automatically identifying the pluralityof objects comprises: automatically identifying a plurality of localparticipants of a video conference in the 360-degree view, each localparticipant is within a field of view of the 360-degree video camera;wherein associating the plurality of selectable interaction elementswith the plurality of respective objects comprises: associating aplurality of designated selectable interaction elements that areincluded in the plurality of selectable interaction elements with theplurality of local participants, each designated selectable interactionelement is selectable to provide information about the local participantwith which the respective designated selectable interaction element isassociated; and wherein incorporating the one or more selectableinteraction elements into at least the portion of the 360-degree videostream comprises: positioning one or more designated selectableinteraction elements of the plurality of designated selectableinteraction elements proximate one or more local participants of theplurality of local participants with whom the one or more respectivedesignated selectable interaction elements are associated.
 3. The methodof claim 2, further comprising: determining that a first designatedselectable interaction element of the plurality of designated selectableinteraction elements that is associated with a first local participantof the plurality of local participants is selected by a remoteparticipant, the remote participant not being in a field of view of the360-degree video camera; and causing the information about the firstlocal participant to be presented on a display of a computing device ofthe remote participant based on the remote participant selecting thefirst designated selectable interaction element.
 4. The method of claim1, wherein the 360-degree view shows an environment within a field ofview of the 360-degree video camera that includes a plurality of localparticipants of a video conference; wherein automatically identifyingthe plurality of objects comprises: automatically identifying a secondcamera in the environment; wherein associating the plurality ofselectable interaction elements with the plurality of respective objectscomprises: associating a designated selectable interaction element ofthe plurality of selectable interaction elements with the second camera,the designated selectable interaction element is selectable to provide avideo stream that is captured by the second camera; and whereinincorporating the one or more selectable interaction elements into atleast the portion of the 360-degree video stream comprises: positioningthe designated selectable interaction element proximate the secondcamera.
 5. The method of claim 4, further comprising: determining thatthe designated selectable interaction element is selected by a remoteparticipant, the remote participant not being in a field of view of the360-degree video camera; and causing the video stream that is capturedby the second camera to be presented on a display of a computing deviceof the remote participant based on the remote participant selecting thedesignated selectable interaction element.
 6. The method of claim 1,wherein the 360-degree view shows an environment within a field of viewof the 360-degree video camera that includes a plurality of localparticipants of a video conference; wherein automatically identifyingthe plurality of objects comprises: automatically identifying awhiteboard in the environment; wherein associating the plurality ofselectable interaction elements with the plurality of respective objectscomprises: associating a designated selectable interaction element ofthe plurality of selectable interaction elements with the whiteboard,the designated selectable interaction element is selectable to providean image of content that is written on the whiteboard; and whereinincorporating the one or more selectable interaction elements into atleast the portion of the 360-degree video stream comprises: positioningthe designated selectable interaction element proximate the whiteboard.7. The method of claim 6, further comprising: determining that thedesignated selectable interaction element is selected by a remoteparticipant, the remote participant not being in a field of view of the360-degree video camera; and providing the image of the content forpresentation on a display of a computing device of the remoteparticipant based on the remote participant selecting the designatedselectable interaction element.
 8. The method of claim 1, whereinautomatically identifying the plurality of objects in the 360-degreeview comprises: receiving a plurality of instances of identificationinformation that identify a first plurality of respective persons from astore; and comparing a plurality of images of a second plurality ofpersons who are in the 360-degree view and the plurality of instances ofthe identification information, the plurality of images is captured bythe 360-degree video camera, the first plurality of persons includes thesecond plurality of persons, the comparing comprising: matching eachperson of the second plurality of persons to a respective instance ofthe identification information to identify the respective person of thesecond plurality of persons.
 9. A system to provide a plurality ofselectable interaction elements in a 360-degree video stream, the systemcomprising: identification logic configured to automatically identify aplurality of objects in a 360-degree view that is captured by a360-degree video camera; association logic configured to associate theplurality of selectable interaction elements, which are configured to beincorporated into the 360-degree video stream that is generated from the360-degree view, with the plurality of respective objects, the pluralityof selectable interaction elements are selectable to initiate retrievalof information pertaining to the objects with which the respectiveselectable interaction elements are associated from a storeindependently from information pertaining to the other objects; andincorporation logic configured to incorporate one or more of theselectable interaction elements into at least a portion of the360-degree video stream such that the one or more selectable interactionelements are positioned proximate one or more respective objects of theplurality of objects with which the one or more respective selectableinteraction elements are associated.
 10. The system of claim 9, whereinthe identification logic is configured to automatically identify aplurality of local participants of a video conference in the 360-degreeview, each local participant is within a field of view of the 360-degreevideo camera; wherein the association logic is configured to associate aplurality of designated selectable interaction elements that areincluded in the plurality of selectable interaction elements with theplurality of local participants, each designated selectable interactionelement is configured to cause an interface, which is configured toenable a remote participant of the video conference to generate amessage for delivery to the local participant with which the respectivedesignated selectable interaction element is associated, to be providedin response to selection of the respective designated selectableinteraction element by the remote participant, the remote participant isnot in the field of view of the 360-degree video camera; and wherein theincorporation logic is configured to incorporate the one or moreselectable interaction elements of the plurality of selectableinteraction elements into at least the portion of the 360-degree videostream such that one or more designated selectable interaction elementsof the plurality of designated selectable interaction elements arepositioned proximate one or more local participants of the plurality oflocal participants with whom the one or more respective designatedselectable interaction elements are associated.
 11. The system of claim10, further comprising: determination logic configured to determinewhether a first designated selectable interaction element of theplurality of designated selectable interaction elements that isassociated with a first local participant of the plurality of localparticipants is selected by the remote participant; and display logicconfigured to cause the interface to be provided on a display of acomputing device of the remote participant in response to adetermination that the remote participant selects the first designatedselectable interface element, the interface enabling the remoteparticipant to generate the message for delivery to the first localparticipant.
 12. The system of claim 11, wherein the display logic isfurther configured to cause the message to be delivered to a localcomputing device of the first local participant via a network forpresentation on a display of the local computing device in response tothe message being generated.
 13. The system of claim 9, wherein the360-degree view shows an environment within a field of view of the360-degree video camera that includes a plurality of local participantsof a video conference; wherein the identification logic is configured toautomatically identify a display in the environment; wherein theassociation logic is configured to associate a designated selectableinteraction element of the plurality of selectable interaction elementswith the display, the designated selectable interaction element isconfigured to cause content that is configured to be presented via thedisplay to be provided in response to selection of the designatedselectable interaction element; and wherein the incorporation logic isconfigured to incorporate the one or more selectable interactionelements of the plurality of selectable interaction elements into atleast the portion of the 360-degree video stream such that thedesignated selectable interaction element is positioned proximate thedisplay.
 14. The system of claim 13, further comprising: determinationlogic configured to determine whether the designated selectableinteraction element is selected by a remote participant, the remoteparticipant not being in a field of view of the 360-degree video camera;and display logic configured to cause the content to be presented on asecond display of a computing device of the remote participant inresponse to a determination that the remote participant selects thedesignated selectable interaction element.
 15. The system of claim 13,further comprising: determination logic configured to determine whetherthe designated selectable interaction element is selected by a remoteparticipant, the remote participant not being in a field of view of the360-degree video camera, the determination logic further configured tocompare the content, which is displayed on the display, and referencecontent that is stored in a store to determine whether the content andthe reference content are same; and display logic configured to causethe reference content from the store to be presented on a second displayof a computing device of the remote participant while the content isbeing displayed on the display in the environment in response to adetermination that the remote participant selects the designatedselectable interaction element and further in response to adetermination that the content and the reference content are the same.16. The system of claim 9, wherein the 360-degree view shows anenvironment within a field of view of the 360-degree video camera thatincludes a plurality of local participants of a video conference;wherein the identification logic is configured to automatically identifya display in the environment; wherein the association logic isconfigured to associate a designated selectable interaction element ofthe plurality of selectable interaction elements with the display, thedesignated selectable interaction element is configured to cause aninterface, which is configured to enable a remote participant of thevideo conference to provide input for presentation on the display, to beprovided in response to selection of the designated selectableinteraction element by the remote participant, the remote participant isnot in the field of view of the 360-degree video camera; and wherein theincorporation logic is configured to incorporate the one or moreselectable interaction elements of the plurality of selectableinteraction elements into at least the portion of the 360-degree videostream such that the designated selectable interaction element ispositioned proximate the display.
 17. The system of claim 16, furthercomprising: determination logic configured to determine whether thedesignated selectable interaction element is selected by the remoteparticipant; and display logic configured to cause the interface to beprovided on a second display of a computing device of the remoteparticipant in response to a determination that the remote participantselects the designated selectable interaction element.
 18. The system ofclaim 17, wherein the determination logic is configured to determinewhether the input is provided via the interface; and wherein the displaylogic is configured to cause the input to be shown on the display inresponse to a determination that the input is provided via theinterface.
 19. The system of claim 9, wherein the identification logicis configured to automatically identify an electronic device in the360-degree view based on receipt of a notification from the electronicdevice, the notification indicating presence of the electronic device.20. A computer program product comprising a computer-readable devicehaving computer program logic recorded thereon for enabling aprocessor-based system to provide a plurality of selectable interactionelements in a 360-degree video stream, the computer program logiccomprising: first program logic for enabling the processor-based systemto automatically identify a plurality of objects in a 360-degree viewthat is captured by a 360-degree video camera; second program logic forenabling the processor-based system to associate the plurality ofselectable interaction elements, which are configured to be incorporatedinto the 360-degree video stream that is generated from the 360-degreeview, with the plurality of respective objects, the plurality ofselectable interaction elements are selectable to initiate retrieval ofinformation pertaining to the objects with which the respectiveselectable interaction elements are associated from a storeindependently from information pertaining to the other objects; andthird program logic for enabling the processor-based system toincorporate one or more of the selectable interaction elements into atleast a portion of the 360-degree video stream such that the one or moreselectable interaction elements are positioned proximate one or morerespective objects of the plurality of objects with which the one ormore respective selectable interaction elements are associated.